package cn.tedu.sp03.service;

import cn.tedu.sp01.pojo.User;
import cn.tedu.web.util.JsonUtil;
import com.fasterxml.jackson.core.type.TypeReference;


import lombok.extern.slf4j.Slf4j;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;


import java.util.List;
@RefreshScope //有了这个注解,新刷新到的新用户配置才会重新注入到对象中
@Slf4j
@Service

public class UserServiceImpl implements UserService{
    @Value("${sp.user-service.users}")
    private String userJson;

    @Override
    public User getUser(Integer  userId){
        //
        List<User> list=
                JsonUtil.from(userJson,
                        new TypeReference<List<User>>(){});
        for(User u:list){
            if(u.getId().equals(userId)){
                return u;//7 8 9
            }
        }
        return  new User(userId,"用户名"+userId,"密码"+userId);
    }
    @Override
    public void addScore(Integer userId,Integer score){
        // 这里增加积分
        log.info("user "+userId+" - 增加积分 "+score);
    }
}
